package cn.iocoder.yudao.module.resource.dal.dataobject.advertisement;

import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 广告 DO
 *
 * @author 芋道源码
 */
@TableName(value = "resource_advertisement", autoResultMap = true)
@KeySequence("resource_advertisement_seq")
@Data
@EqualsAndHashCode(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ResourceAdvertisementDO extends TenantBaseDO {

    /**
     * 广告ID
     */
    @TableId
    private Long id;

    /**
     * 广告商ID
     */
    private Long advertiserId;

    /**
     * 广告标题
     */
    private String title;

    /**
     * 广告类型
     *
     * 枚举 1-激励视频 2-Banner
     */
    private Integer type;

    /**
     * 视频URL
     *
     * 用于激励视频
     */
    private String videoUrl;

    /**
     * 视频时长（秒）
     */
    private Integer duration;

    /**
     * 点击跳转URL
     */
    private String clickUrl;

    /**
     * 状态
     *
     * 枚举 0-待审核 1-投放中 2-已暂停 3-已结束
     */
    private Integer status;

    /**
     * 开始时间
     */
    private LocalDateTime startTime;

    /**
     * 结束时间
     */
    private LocalDateTime endTime;

    /**
     * 日预算（元）
     */
    private BigDecimal dailyBudget;

    /**
     * 总预算（元）
     */
    private BigDecimal totalBudget;

    /**
     * 观看次数
     */
    private Integer viewCount;

    /**
     * 点击次数
     */
    private Integer clickCount;

}
